Object identifiers for real world objects

ABSTRACT

This application describes a system and process for providing object identifiers relating to real world objects to users based on the location of the user and the anticipated interested of the user in an object within a defined distance of the user. For example, if the user is within a retail store, a portable device associated with the user may detect or receive a beacon transmitted from a location within the retail store and object identifiers representative of objects within the store may be generated and provided to the user. In some implementations, only object identifier representative of items determined to be of likely interest to the user may be provided for presentation to the user.

CROSS-REFERENCE TO PRIOR APPLICATIONS

This application is a divisional application of and claims priority toU.S. patent application Ser. No. 14/660,793, filed on Mar. 17, 2015 andentitled “Computer-Readable Storage Medium for Presenting ObjectIdentifiers for Real World Objects on Wearable and Portable Devices,”which is hereby incorporated by reference herein in its entirety.

BACKGROUND

People are increasingly interacting with computers and other electronicdevices in new and interesting ways. With the increased processingcapabilities, connectivity and location tracking, electronic deviceshave become widespread and used in many everyday activities. Forexample, people often use electronic devices to search for products,watch videos, listen to music, research, shop for both digital andphysical products (“e-commerce”), and receive news, just to name a few.Other uses include communicating with social communities, friends andfamily, photography, and many others.

Objects are typically made available and people search for objects,based on information about the object for which they are searching. Keywords that describe an object are often associated with the object and,when people search using one or more of those key words, the object maybe returned as a result. While this provides a good foundation forsearching for objects based on information about the object, it limitsthe ability for individuals to search for, share, and experience objectsin other ways.

BRIEF DESCRIPTION OF THE DRAWINGS

The detailed description is set forth with reference to the accompanyingfigures. In the figures, the left-most digit(s) of a reference numberidentifies the figure in which the reference number first appears. Theuse of the same reference numbers in different figures indicates similaror identical items.

FIG. 1 is an illustration of an environment and a user receiving anotification related to an object in the environment, according to animplementation.

FIG. 2 illustrates an example of an object identifier that is presentedto the user when the user is positioned at the location of an objectanticipated to be of interest to the user, according to animplementation.

FIG. 3 is an illustration of an environment, according to animplementation.

FIG. 4 is an illustration of a location and a user receiving an objectidentifier related to the location, according to an implementation.

FIG. 5 is another illustration of a location and a user receiving anobject identifier related to the location, according to animplementation.

FIG. 6 is an illustration of an object identifier presented as part ofan action, according to an implementation.

FIG. 7 is another illustration of a location and a user receiving anobject identifier related to the location, according to animplementation.

FIG. 8 illustrates an example process for notifying a user about anobject in an environment, according to an implementation.

FIG. 9 illustrates an example process for presenting an objectidentifier related to an object in the environment, according to animplementation.

FIG. 10 is an illustration of an environment and a user receiving anobject identifier related to an object determined in the environment,according to an implementation.

FIG. 11 is an illustration of an object identifier presented as part ofan action, according to an implementation.

FIG. 12 illustrates an example wearable device that may be used inaccordance with various implementations.

FIG. 13 illustrates an example computing device that can be used inaccordance with various implementations.

FIG. 14 illustrates an example configuration of components of acomputing device, such as that illustrated in FIG. 13.

FIG. 15 is a pictorial diagram of an illustrative implementation of aserver system that may be used for various implementations.

While implementations are described herein by way of example, thoseskilled in the art will recognize that the implementations are notlimited to the examples or drawings described. It should be understoodthat the drawings and detailed description thereto are not intended tolimit implementations to the particular form disclosed but, on thecontrary, the intention is to cover all modifications, equivalents andalternatives falling within the spirit and scope as defined by theappended claims. The headings used herein are for organizationalpurposes only and are not meant to be used to limit the scope of thedescription or the claims. As used throughout this application, the word“may” is used in a permissive sense (i.e., meaning having the potentialto), rather than the mandatory sense (i.e., meaning must). Similarly,the words “include,” “including,” and “includes” mean including, but notlimited to.

DETAILED DESCRIPTION

This application describes a system and process for providing objectidentifiers relating to real world objects to users based on theposition of the user and the anticipated interest of the user in anobject within a defined distance of the user. For example, if the useris within a retail store, a portable device associated with the user maydetect or receive a beacon transmitted from within the retail store. Thebeacon may include an identifier that the portable device sends to aremote computing resource and the remote computing resource may identifyone or more objects and/or object identifiers associated with thebeacon. The beacon may correspond with the environment (e.g., the retailstore) in which the user is positioned, a location within theenvironment (e.g., a department within the retail store — men'sclothing, women's clothing, shoes, toys), or one or more items withinthe environment (e.g., shoes, clothing, toys). An environment, alocation, and items are generally referred to herein as “objects.” Anobject is anything that can be represented. For example, an objectidentifier represents objects such as, but not limited to, televisionshows, movies, songs, images, physical objects, locations, sounds, webpages, digital objects, other object identifiers, etc.

The remote computing resource may also determine based on a user profileassociated with the user whether the user is likely interested in theobject or object identifier associated with the beacon. If it isdetermined that the user is likely interested in the object or theobject identifier associated with the beacon, the object identifier oran object identifier representative of the object is sent to theportable device for presentation to the user. In other implementations,as discussed below, the remote computing resource may automaticallyprovide the object identifier associated with the beacon and theapplication operating on the portable device may determine theanticipated interest of the user and whether the object identifier is tobe presented to the user.

An “object identifier,” as used herein, is a collection of one or moreitems of information about an object. The object identifier may includeany combination of: a representation for the object, such as a graphicalrepresentation, audible representation, or other representation of theobject; a description of the object; static information about theobject; supplemental information about the object; the source of theobject; etc. In some implementations, an object identifier may representmultiple objects and/or represent multiple other object identifiers. Forexample, a first object identifier may be associated with and representthree other object identifiers (a second object identifier, a thirdobject identifier, and a fourth object identifier). The second objectidentifier may be associated with and represent a first item, such as ashirt. The third object identifier may be associated with and representa second item, such as a pair of shorts. The fourth object identifiermay be associated with and represent a third item, such as a pair ofshoes. The three items may be part of an outfit or correspond to a themethat is being promoted. As such, the first object identifier may be usedto represent the outfit or theme by representing the three objectidentifiers for those objects.

As will be appreciated, additional or fewer items of information may beincluded in an object identifier. Likewise, additional or fewer objectsand/or object identifiers may be represented by an object identifier.

Static information about an object may be any information about theobject that does not change. Static information may be provided by afirst entity, such as a manufacturer, owner, creator of the representedobject, or other authoritative source relating to the object.Supplemental information, as used herein, may be any additionalinformation that may be associated with a representation of an objectrepresented by the object identifier and/or the object identifier. Insome implementations, supplemental information may be periodicallyupdated by external sources, and/or include actions that may beperformed by users interacting with the object identifier. For example,supplemental information may include seller reviews and/or user reviewsrelating to the object represented by the object identifier. As anotherexample, supplemental information may include sizing options for an itemrepresented by the object identifier, color options for the object,price, quantity remaining in stock, etc. When a user views the objectidentifier, the supplemental information may be automatically updated topresent to the user with current information relating to the objectrepresented by the object identifier.

If the supplemental information is an action, such as a link to anexternal source, a buy button, etc., a user may interact with the objectidentifier and have the action performed. For example, if thesupplemental information is a buy button, the user can interact with thebuy button and initiate the action of buying the object identified bythe object identifier. Supplemental information associated with anobject identifier may be provided by one or multiple sources. Forexample, if the object identified by an object identifier is a shoe thatis being sold by a retailer, the supplemental information may beprovided by the retailer.

FIG. 1 is an illustration of an environment 100 and a user receiving anotification related to an object in the environment, according to animplementation. In this example, the environment 100 in which the useris positioned is an outdoor environment near a plurality of physicalretail stores 102. In this example the user is near four stores—Store A102A, Store B 102B, Store C 102C, and Store D 102D. The portable device120 associated with the user may determine its position based on, forexample, received Global Positioning System (GPS) information, indoorlocation services, triangulation from cellular towers or other wirelesstransmitters, based on Wi-Fi network connections, etc., and/or receive abeacon representative of one of the objects (e.g., store) within theenvironment, a location within the environment, or the environment.

A beacon, as used herein, may include a wireless signal carryingidentifiable information that is transmitted by or from one of theobjects. For example, a beacon may be a radio frequency identifier(RFID) signal transmitted by a RFID tag, a Bluetooth signal, an iBeacon,an AltBeacon, etc. Likewise, the beacon may be an audible signalgenerated in the environment and/or an image of at least a portion ofthe environment, the location, or an object that is obtained by theportable device.

The position of the portable device and/or the received beacon, alongwith a portable device identifier and/or a user identifier of the userof the portable device, may be sent over a network 105 to computingresources 101 for processing by an object management service 103. Thenetwork 105 may include a local area network, a wide area network, suchas a public switched telephone network (PSTN), a cable televisionnetwork, a satellite network, a collection of networks, a publicInternet protocol network, a private Internet protocol network, or acombination thereof. Moreover, the network 105 may be wireless or acombination of wireless and wired. The computing resources 101 mayinclude one or more server computers 101(1), 101(2)-101(N). As will beappreciated, any number and/or type of computing resources 101 may beused. Likewise, the computing resource may be local to the environmentin which the user is positioned, remote from the environment, or anycombination thereof. An example server computer is discussed furtherbelow with respect to FIG. 15.

The object management service 103 maintains an association betweenbeacons and/or position information and corresponding objectidentifiers. For example, the identifiable information received from abeacon may include a unique identifier. The object management service103 may maintain in a data store an association between the uniqueidentifier and one or more object identifiers. As another example,object identifiers may be associated with position information, such asa range of geographic areas or positions.

Likewise, the object management service 103 may also maintain userprofiles for users that identifies information about users. The userprofiles may identify, for example, user interests (inferred and/orspecified by the user), past purchase history of users, past browsehistory of users, an identification of items viewed and/or selected bythe user, object identifiers previously viewed, saved, and/or shared bythe user, etc.

Utilizing the received beacon or position information, the objectmanagement service may identify the one or more object identifiersassociated with the beacon or near the position of the user. Likewise,the object management service 103, using the unique identifier of theportable device and/or the user identifier received from the portabledevice, may identify the user profile for the user. A determination isthen made as to an anticipated interest level of the user in the objectrepresented by the one or more object identifiers.

Returning to FIG. 1, the portable device 120 may periodically provideposition information to the object management service 103 and the objectmanagement service 103 may determine if there is an object within theenvironment where the user is positioned that has an anticipatedinterest for the user. In this example, the object management service103 determines that a high anticipated interest from the user existswith respect to Store B 102B. In this example, based on the positioninformation received from the portable device 120, the object managementservice has determined that the user is near objects 102A-102D anddetermined the object identifiers for each of those objects.

Likewise, based on the user profile associated with the user, the objectmanagement service 103 has determined that the user has a high interestin, among other things, tennis equipment and tennis clothing. Comparingthe determined interest of the user with the information associated witheach determined object identifier, the object management service 103determines an anticipated interest for the user with respect to eachobject.

In this example, Store A 102A is a pet store, Store B 102B is a sportsstore, Store C 102C is a jewelry store, and Store D 102D is a fabricstore. Based on the user profile of the user, the object managementservice determines that the user has a low anticipated interest in eachof Store A 102A, Store C 102C, and Store D 102D, but has a highanticipated interest in Store B. Specifically, in this example, the userprofile identifies that the user has an interest in tennis equipment andtennis clothing and, based on the information associated with the objectidentifier, Store B includes a tennis section (location) that includestennis related items.

Based on this high anticipated interest, the object management service103 sends the object identifier representative of the object Store B102B to the portable device 120. Likewise, in this example, the highanticipated interest level or an identification that it has beendetermined the user has a high interest in the object Store B 102B isalso provided to the portable device.

The portable device, upon receiving the object identifier and theindication of the high anticipated interest, sends a notification to thewearable device 110 associated with the user, via a network 111, forpresentation to the user by the wearable device 110. The network 111 maybe any type of wireless network including, but not limited to,Bluetooth, Wi-Fi, near field communication (“NFC”), etc.

Based on user specified preferences, the notification may be sent to thewearable device only for objects that are determined to be of a highanticipated interest. In other implementations, the user may specifywhat types of notifications are to be sent to the portable device.Likewise, while this example illustrates that the object managementservice 103 provides the anticipated interest level or an identificationof the anticipated interest level, in other implementations, the objectmanagement service 103 may provide an indication to the portable deviceas to whether a notification is to be provided to the wearable device110. In still another example, the object management service 103 mayprovide the notification to the portable device 120 and/or directly tothe wearable device 110.

The wearable device 110, upon receiving a notification, presents thenotification 112 to the user. The notification may be presented audibly,visually, using haptics to physically notify the user, and/or anycombination thereof. Likewise, in some implementations, depending onuser preference and the anticipated interest level, different forms ofpresentation may be utilized by the wearable device. For example, if theuser has actively identified objects for which the user would like to benotified, the presentation of a notification for such an object may beprovided in the form of audio, visual and haptics. Notifications forobjects that are determined to be of high interest, but notaffirmatively indicated by the user to be of interest, may only beprovided using one form of presentation. In other implementations, thepresentation forms may be progressive. For example, the notification mayinitially be presented using haptics and/or audio. If the user moves thewearable device into a position in which the user can view the displayon the wearable device, the presentation may be presented visually.

The visual presentation of the notification 112 on the wearable device110 may provide initial information to the user identifying the object,in this example Store B 102B. The initial information identifies, forexample, the object (e.g., Store B) and/or information about the objectand/or why the user is being notified. For example, the notification mayidentify to the user that Store B 102B includes tennis items.

If the user shows an interest in the object and/or the notification,such as by viewing the notification on the wearable device for a definedperiod of time (e.g., three seconds) and/or interacts with thenotification 112 on the wearable device 110, the object identifier maythen be presented on the portable device 120. For example, if the usershows an interest in the notification, the wearable device 110 may sendan alert or message to the portable device 120, via the network 111,indicating that the portable device 120 is to present the objectidentifier 123 on a display of the portable device 120. Alternatively,if the user does not interact with the wearable device 110, or does nothave a wearable device 110, a notification is not sent to the wearabledevice 110, and the object identifier may be presented on the display ofthe portable device if the user interacts with the portable device 120.In some implementations, the object identifier may be presented on thewearable device 110.

In some implementations, in addition to or as an alternative to sendinga notification for presentation on a wearable device, the notificationmay be presented by the portable device 120. For example, like thewearable device 110, the portable device 120 may provide a visualnotification, an audible notification, a haptic notification, and/or anycombination thereof.

The presentation of the object identifier 123 on the portable device 120provides additional information about the object and/or why the objectidentifier is being presented to the user. For example, a presentationidentifier 122 identifying why the object identifier is being presentedto the user may be included in the object identifier 123. In thisexample, the presentation identifier 122 indicates that the objectidentifier 123 corresponds to an object that is near the user's positionand based on the interests of the user.

The object identifier 123 includes information about the object and oneor more action buttons. For example, the object identifier 123 mayinclude a graphical representation 124 of the object and/or textualinformation 121 about the object. The graphical representation 124and/or textual information 121 are examples of supplemental informationthat may be included with an object identifier by an external source,such as an owner of Store B 102B.

In this example, the action buttons include a Directions action button126, a Details action button 128, and a Save action button 130.Selection of the Directions action button 126 will cause the action ofproviding directions to the user directing the user to the position ofthe object (Store B) to be performed. The directions may be provided onthe portable device 120, the wearable device 110, or using other formsof communication. Selection of the Details action button 128 will causethe action of providing additional details to the user about the objectrepresented by the object identifier 123 to be performed. Additionaldetails may include, for example, the store address, store hours, itemssold, web site, sales, and/or any other static or supplementalinformation associated with the object identifier. In someimplementations, the details may be selected and presented to the userbased on the determined interests of the user. Selection of the Saveaction button 130 will cause the action of saving or associating theobject identifier with the user's profile.

While this example illustrates the presented object identifier withthree action buttons, in other implementations, more, fewer and/or otheraction buttons may be presented. An action button may be any graphicalrepresentation of an action that may be performed with respect to theobject represented by the object identifier and/or the objectidentifier. Other examples of action buttons may include a Buy actionbutton, Share action button, Not interested action button, etc.

In some implementations, if the object management service 103 determinesthat more than one object in the environment is anticipated to be ofinterest to the user, additional object identifiers and/or notificationsmay be sent to the portable device 120 for presentation to the user. Auser may view other object identifiers by selecting the scroll arrows132 and/or by otherwise interacting with the portable device, forexample, by swiping their finger horizontally across the display of theportable device.

In some implementations, different object identifiers for an object maybe presented to the user based on the position of the user with respectto the object. For example, as discussed above, the user was in anenvironment that included several objects (Store A, Store B, Store C,Store D), and it was determined to present an object identifierrepresentative of Store B 102B to the user to notify the user that theobject Store B 102B was near the position of the user. The environmentmay be a defined distance around the user, such as one mile. Any defineddistance may be utilized to determine the environment. In otherimplementations, the environment may not be a specifically defineddistance but may be defined based on an object (building) in which theuser is positioned. For example, if the user is located outside, theenvironment may be a defined distance around the user. However, if theuser is located indoors, the environment may be the interior of thebuilding or a section of the interior of the building. For example, ifthe user is in a shopping mall with many stores (each an object), whenthe user is positioned in a common area of the shopping mall theenvironment is the shopping mall and the objects are the stores. If theuser enters a store, the environment becomes the store in which they arepositioned and the objects are locations and/or items within the store.

In some implementations, as a user nears an object (e.g., Store B),additional and/or different object identifiers may be presented. Forexample, if the user is within a second defined distance (e.g., thirtyfeet) of an object within the environment, an object identifier may bepresented to the user that is different than the object identifier forthe object that is presented as discussed above with respect to FIG. 1.For purposes of this discussion, when a user is within a second defineddistance of an object, the user is considered to be positioned at thelocation of the object. As mentioned above, the object may be a physicalitem or the location.

FIG. 2 illustrates an example of an object identifier that is presentedto the user when the user is positioned at the location of an objectanticipated to be of interest to the user, according to animplementation. In this example, the user is now positioned within adefined distance of object Store B 202B. As discussed above, theposition of the user may be determined by the object management service103 (FIG. 1) based on position information (e.g., GPS) provided by theportable device 220 to the object management service 103 and/or based onbeacon information received from an object by the portable device 220and provided to the object management service 103.

When it is determined that the user is positioned at the location of theobject, an object identifier 223 associated with the object Store B 202Bis provided to the portable device 220 for presentation to the user. Inthis example, the object identifier 223 includes a presentationidentifier 224 that identifies the object and also includes otherinformation related to the object. Like the other object identifiers,the object identifier 223 may include information that is determined tobe of likely interest to the user. In this example, the objectidentifier 223 includes representations of other object identifiers thatare associated with objects within Store B that are anticipated to be ofinterest to the user based on the objects associated with Store B andthe user profile associated with the user. Specifically, objectidentifier 223 includes a graphical representation representative ofobject identifiers that are associated with Shoes 228, a graphicalrepresentation representative of object identifiers that are associatedwith Tennis 226, and a graphical representation representative of objectidentifiers that are associated with Golf 230.

The user may interact with the object identifier 223 to obtainadditional information about the object and/or interact with any of thegraphical representations 226, 228, 230 included in the objectidentifier. For example, the user may interact with the objectidentifier 223 to obtain additional static information and/orsupplemental information about the object Store B 202B. Such informationmay include an identification of other items or categories of itemsassociated with Store B, sales promotions, hours, and/or any otherinformation associated with the object identifier 220.

Likewise, the user may interact with any one or more of the graphicalrepresentations 228, 226, 230 to obtain additional information about theitems associated with the graphical representation. For example, theuser may select the Shoes 228 graphical representation and receive fromthe object management service 103 object identifiers representative ofshoes associated with Store B 202B that are determined to have a highanticipated interest to the user. Similarly, selection of the Tennis 226graphical representation will result in the user being presented withobject identifiers for tennis related items (e.g., tennis clothing,tennis equipment, tennis themes) associated with the object Store B202B. Selection of the Golf 230 graphical representation will result inthe user receiving object identifiers for golf related items (e.g., golfclothing, golf equipment, golf themes) associated with the object StoreB 202B.

While this example illustrates an object identifier 223 that isrepresentative of other object identifiers representative of itemsassociated with the object Store B 202B, in other implementations, theobject identifier 223 presented when the user is determined to bepositioned at the location of the object Store B 202B may include less,additional and/or different information. Likewise, while this exampleillustrates the object management service 103 providing the objectidentifier 223 to the portable device 220 when it is determined that theuser is positioned at the location of the object, in otherimplementations, the object identifier 223 may be provided at othertimes and the portable device may determine when/if to present theobject identifier to the user. For example, the object identifier 223may be provided to the portable device when it is initially determinedthat the user and the object are in the same environment (e.g., within afirst defined distance of each other) and/or when the user indicates aninterest in the object but before the user is positioned at the locationof the object. In such an example, the portable device 220 may determinewhen the user is positioned at the location of the object and determineto present the object identifier 223 to the user.

In some implementations, the object management service 103 may determinewhether to present object identifiers and/or notifications to a userbased on the environment in which the user is located. For example, ifthe environment in which the user is located is often frequented by theuser (e.g., part of the user's commute route to and/or from work), theobject management service 103 may determine not to present detectedobject identifiers because the user is likely aware of those objectswithin the environment. However, if a new object and/or objectidentifier that is determined to be of anticipated interest to the useris detected within the environment, the new object identifier may bepresented to the user. In comparison, if the user is positioned in anenvironment that is new to the user, the user has not been in theenvironment recently, and/or the user has only been in the environment alimited number of times, object identifiers corresponding to objectsdetermined to be of anticipated interest to the user may be presented tothe user, as discussed herein.

FIG. 3 is an illustration of an environment 300 within the object StoreB 202B (FIG. 2), according to an implementation. As discussed above, theenvironment may change depending on the position of the user. In theexamples discussed above with respect to FIGS. 1-2, the environment wasoutside and the objects included the stores located in the environment(e.g., within a defined distance of the user). In FIG. 3, the user hasmoved inside the object Store B 202B (FIG. 2) and the environment 300has changed such that it is now the inside of Store B. Within theenvironment 300 there are locations 308, 310, 312, each location anobject. Likewise, there are items within the environment 300, such astennis racquets 314, basketballs 316, shoes 318, each of which may bepositioned within a location. There may also be other items within theenvironment 300, such as bicycles 320, that are not positioned within alocation within the environment.

For each location and/or item within the environment 300, there may beone or more object identifiers maintained by the object managementservice that are presentable to the user via a portable device, awearable device and/or using one or more output components within theenvironment 300. In some implementations, each location may beassociated with a beacon, such as an iBeacon, that is transmitted from asource positioned within the location. Alternatively, or in additionthereto, the location may be associated coordinates (such as indoorpositioning information). In either example, the inventory managementservice maintains information for each location, such as types of itemswithin the location, item inventory, themes, prices, sales, etc. When auser is positioned within the location (e.g., within a defined distanceof the source of the beacon or within a defined distance of thecoordinates associated with the location), the inventory managementservice may determine whether to send object identifiers to the portabledevice associated with the user that are related to the location and/oritems within the location.

For example, referring to FIG. 4, illustrated is the location 408defined for tennis. In this example, the location 408 is defined as anarea around a source 402 of a beacon. The source 402 of the beacon maybe positioned anywhere and the location may be defined as a region orarea within a defined distance of the source 402 of the beacon (e.g.,thirty feet). As will be appreciated, different locations within theenvironment may be different sizes and/or may be defined by more thanone source beacon. For example, a large location may include two or moresources that generate a same or similar beacon that is used to definethe location.

In some implementations, a size and/or shape of a location may bedefined based on a distance surrounding a beacon, which may bedetermined based on information received from the beacon and/or thestrength of the signal received from the beacon. For example, a size andshape of a location may be defined as a fifteen foot radius around abeacon source. In other implementations, the size and/or shape of alocation may be determined based on GPS coordinates and a definedposition mapping (e.g., geo-fencing) around the location. In stillanother implementation, a location may be defined as any area in which asignal from a beacon is detectable. It will be appreciated that avariety of techniques may be utilized to determine a size and/or shapeof a location.

As the user moves about the environment, the portable device may providereceived beacon information and/or location information to the inventorymanagement service and a determination is made as to whether objectidentifiers are to be presented to the user. In the example illustratedin FIG. 4, the user is positioned within the location 408 for tennis,the inventory management service has determined that there is a highanticipated interest in the tennis location for the user, and an objectidentifier 423 has been provided to the portable device 420 andpresented to the user. In this example, the object identifier 423 hasbeen created by or on behalf of store B and relates to Brand A Tennis,as illustrated by the object identifier 423. Brand A tennis is the brandof tennis items on display and available for sale at the location 408.The object identifier is associated with the unique identifiertransmitted by the beacon, received by the portable device 420, andprovided to the object management service. For example, the objectmanagement service maintains a data store that includes a tableassociating beacon identifiers with locations and object identifiers.

The object identifier provides information to the user about thelocation and items at the location and includes one or more actionbuttons. In this object identifier, the action buttons include a Saveaction button 410, a More action button 412 and a Send action button414. The action buttons, when selected, cause performance of the actionswith respect to the object identifier 423. For example, selection of theMore action button 412 will cause the action of additional informationassociated with the object identifier and/or the location being providedfor presentation to the user. The additional information may includeinformation about Brand A, additional information about Brand A items,object identifiers corresponding to items at the location and/or anyother supplemental or static information associated with the location.In one example, the additional information may be similar to thatillustrated in FIGS. 5-7.

FIG. 5 is another illustration of the environment 508 and a userreceiving an object identifier 523 associated with the environment,according to an implementation. In this example, the object identifierincludes representations of items associated with the location that aredetermined to likely be of interest to the user. Items associated withthe location may be determined to be of likely interest to the userbased on the user profile associated with the user and maintained by theobject management service. For example, the user profile may identifythe gender of the user, the types of tennis items previously purchasedand/or viewed, etc. Based on the information in the user profile, andattributes of the items associated with the location, items of likelyinterest to the user are identified. In another example, the objectmanagement service may consider what items other user's with a similarassociated user profile have purchased and/or viewed and utilize thatinformation as a factor in selecting what items to present to the useras part of the object identifier.

In this example, the object identifier 523 includes representations 502,504, 512, 514 for multiple items associated with the location.Specifically, in this example, the representation 502 corresponds toBrand A Combat Dri-Fit T-Shirt. The representation 504 corresponds toBrand A Combat Leggings. The representation 512 corresponds to a tennisracquet and the representation 514 corresponds to tennis balls. Eachrepresentation 502, 504, 512, 514 may include one or more actionbuttons. In this example, each representation 502, 504, 512, 514 withinthe object identifier includes three action buttons, a Save actionbutton, a Send action button, and a Buy action button.

As with the other action buttons, selection of an action button by theuser will cause the corresponding action to be performed. In thisexample, the action will be performed with respect to the itemcorresponding to the representation and/or the representation. Forexample, if the user selects the Save action button 506, the objectmanagement service will associate an object identifier corresponding tothe item Brand A Combat Dri-Fit T-shirts of the representation 502 withthe user profile associated with the user. As another example, if theuser selects the Send action button 507, the action of sending an objectidentifier representative of the object Brand A Combat Dri-Fit T-shirtswill be sent to a destination (e.g., email address, social network)specified by the user.

Finally, if the user selects the Buy action button 510, the objectmanagement service will initiate the action of the user buying therepresented item, in this example the Brand A Combat Dri-Fit T-shirts.In some implementations, the Buy action may include additionalpresentations of information that are provided to the user to facilitatethe purchase of the item.

The user may also interact with the representations 502, 504, 512, 514to obtain additional information about the represented item. Forexample, if the user selects the representation 504, the user isprovided with an object identifier representative of the item thatcorresponds to the representation 504, in this example, Brand A CombatLeggings. Like the other object identifiers discussed herein, an objectidentifier for an item includes information (static and/or supplemental)about the item and may include one or more action buttons.

FIG. 6 is an illustration of an object identifier 623 corresponding tothe representation 502 (FIG. 5) presented to a user in response to auser selection of the Buy action button 510, according to animplementation. In this example, the action of enabling the user to buythe represented item includes the user selecting attributes relating tothe item to be purchased. The object identifier 623 includes arepresentation of the item and one or more attributes that are to beselected by the user as part of the action of buying the item. Forexample, the user may be requested to select a size 602 and a color 604corresponding to the item. In some implementations, the attributes andthe object identifier information may correspond to the availableinventory within the environment. For example, the object identifier 623identifies to the user that there are no extra-large inventory itemsremaining. Likewise, based on the attributes selected by the user, theobject identifier 623 may be updated to identify the quantity of itemsavailable that correspond to the attributes selected by the user. Inthis example, the user has selected the attributes of medium 606 andwhite 608 for the item. Based on the selected attributes, the quantityremaining 610 may be updated to identify the number of items remainingthat correspond to the selected attribute. Likewise, in someimplementations, the price 612 may vary depending upon the selectedattributes. In such an implementation, the price 612 may likewise bedynamically adjusted based on the selected attributes.

As with the other object identifiers, the object identifier 623 mayinclude one or more action buttons, such as a Save action button 614,Send action button 616 and Buy action button 618. In someimplementations, one or more of the action buttons may only becomeavailable after the user has selected the attributes for the item. Forexample, the Buy action button 618 may not become available until theuser has specified the attributes for the item they desire to purchase.Selection of an action button will cause the corresponding action to beperformed.

FIG. 7 is another illustration of a location 708 within an environmentand an object identifier 723 presented on a portable device 720 to auser, according to an implementation. In this example, the objectidentifier includes representations of different themes that relate tothe location in which the user is positioned. Each theme may include oneor more associated items, represented by object identifiers thatcorrespond to the location and/or the theme. In this example, the themesof Strength 704, Warm Up 706, Hydration 707, and Outfits 710 arepresented on the object identifier 723. Each theme may include one ormore representations of items or other objects that correspond to thetheme, each of which may be selected by the user. For example, theStrength 704 theme includes four representations 712, 714, 716, 718,each of which may be selected by the user to obtain additionalinformation. The user may select a representation, such asrepresentation 712 and obtain additional information corresponding tothe representation, such as object identifiers representative of itemsassociated with the representation and/or the theme. In someimplementations, the themes and/or the representations presented in thethemes may correspond to items determined to be of likely interest tothe user.

FIG. 8 illustrates an example process 800 for notifying a user about anobject in an environment, according to an implementation. The exampleprocess 800 and each of the other processes described herein areillustrated as a collection of blocks in a logical flow graph. Some ofthe blocks represent operations that can be implemented in hardware,software, or a combination thereof. In the context of software, theblocks represent computer-executable instructions stored on one or morecomputer-readable media that, when executed by one or more processors,perform the recited operations. Generally, computer-executableinstructions include routines, programs, objects, components, datastructures, and the like that perform particular functions or implementparticular abstract data types.

The computer-readable media may include non-transitory computer-readablestorage media, which may include hard drives, floppy diskettes, opticaldisks, CD-ROMs, DVDs, read-only memories (ROMs), random access memories(RAMs), EPROMs, EEPROMs, flash memory, magnetic or optical cards,solid-state memory devices, or other types of storage media suitable forstoring electronic instructions. In addition, in some implementations,the computer-readable media may include a transitory computer-readablesignal (in compressed or uncompressed form). Examples ofcomputer-readable signals, whether modulated using a carrier or not,include, but are not limited to, signals that a computer system hostingor running a computer program can be configured to access, includingsignals downloaded or uploaded through the Internet or other networks.Finally, the order in which the operations are described is not intendedto be construed as a limitation, and any number of the describedoperations can be combined in any order and/or in parallel to implementthe process. Likewise, additional or fewer operations than thosedescribed may be utilized with the various implementations describedherein.

The example process 800 begins by monitoring an environment in which auser is located and a position of the user, as in 802. For example, aportable device associated with a user may obtain position informationthat is used to determine the position of the user. Position informationmay be obtained from GPS data, Wi-Fi networks, indoor positioningsystems, etc. Likewise, the portable device may monitor for anydetectable beacons within the environment. For example, beacons such asiBeacons, AltBeacons, RFID tags, etc., may periodically or continuouslytransmit a signal that includes identifiable information. The beacon maybe detected by the portable device using one or more of a variety ofinput components, such as a Bluetooth receiver, a NFC receiver, Wi-Fireceiver, etc. In some implementations, the portable device may alsoobtain other inputs from the environment. For example, the portabledevice may obtain audio using a microphone of the portable device and/orobtain images using an image capture device (camera) of the portabledevice. In one implementation, the portable device may obtain a segmentof audio (e.g., five seconds) from the environment, a series of imagesover a period of time, and/or a segment of video from the environment.

Based on the position of the user, detected beacons, obtained audio,and/or obtained images/video, a determination is made as to whether anyobjects are within a first distance of a user for which an objectidentifier exists that may be presented to the user, as in 804. Forexample, the portable device may send position information, any detectedbeacons, audio, images/video, a user identifier representative of theuser, a device identifier representative of the portable device, or anycombination thereof, to the object management service for processing.

The object management service may utilize the position information todetermine if there are any objects within a first defined distance ofthe position of the user. For example, the object management service maymaintain an object data store that includes information for objects andcorresponding object identifiers. The information may include, amongother things, position information for each object within anenvironment. Based on the position of the user and the positioninformation associated with the objects and maintained in the objectdata store, it is determined whether any objects are within a firstdistance of the user. The first distance may be any defined distance andmay vary for different users, different objects, different locations,different environments, etc.

In addition to or as an alternative to the position information, theobject management service may utilize any received beacon information todetermine objects within the first defined distance of the position ofthe user. For example, the object data store may also include for eachobject identified in the object data store any beacon identifiersassociated with the object. If a beacon identifier is received from theportable device, the objects associated with the beacon identifier areidentified from the object data store.

As still another example, any recorded audio received from the portabledevice may also be utilized to determine objects within a first distanceof the user. For example, the object management service may maintain inthe objects data store audio data corresponding to objects. As anexample, the object data store may maintain audio information (e.g., arecording of the audio, waveform patterns) corresponding to movies,television shows, songs (each objects), sounds made by objects (e.g.,car horns, sirens, drills, trains), etc. When audio is received from theportable device, the audio may be processed to determine a waveformpattern and/or the audio may be compared with stored audio informationassociated with objects to determine if one or more objects identifiedin the object data store correspond with the received audio.

Similar to audio, any received images and/or video of the environmentmay be processed and compared with image data maintained by the objectmanagement service to determine any objects that correspond with theimage/video. For example, received images or video may be processedusing one or more image processing techniques, such as edge detection,object detection, grey scale image processing, etc., and compared toimage data maintained in the object data store for objects to determineif one or more objects identified in the object data store correspondwith the images/video. For example, if the image received from theportable device includes a representation of all or a portion of theEiffel Tower, the image may be processed using edge detection to detectthe shape of the tower and generate image information representative ofthe image. The processed image information may be compared with imagedata maintained by the object management service to determine acorrelation. If the correlation exceeds a threshold, it may bedetermined that the object represented in the received image has beendetermined.

While the above describes determining objects based on user position,beacon information, audio and images/video, it will be appreciated thatother forms of input may likewise be used to determine objects within afirst distance of a user. For example, a user may provide inputidentifying an object. Likewise, it will be appreciated that inputs maybe used alone or in combination to determine objects within a firstdistance of a user.

Returning to FIG. 8, a determination is made as to whether any objectswithin the first distance have been determined, as in 804. If no objectshave been determined, the example process 800 returns to block 802 andcontinues. If one or more objects have been determined, an anticipatedinterest level for each object is determined, as in 806. An anticipatedinterest level represents the likelihood that a user will be interestedin the detected object.

The anticipated interest level is determined based on attributes of thedetermined object and the user profile associated with the user. Forexample, the user profile may identify past purchases of the user,objects previously viewed by the user, objects or categories of objectsthat are of interest to the user (e.g., specified by the user ordetermined to be of interest based on the user's behavior), objectidentifiers viewed, shared, and/or saved, etc.

The anticipated interest level may also vary based on the environment inwhich the user is located. For example, if the environment is oftenfrequented by the user (e.g., part of the user's commute to and/or fromwork), the anticipated interest level for objects in that environmentfor which object identifiers have previously been presented to the usermay be reduced, as the user is likely already aware of those objects.

By comparing the user profile and the attributes of an object, ananticipated interest level may be determined. The anticipated interestlevel may be represented as a numerical score, ranking, etc., or anyother form representing a similarity between the user profile and theattributes.

A determination is then made as to whether the anticipated interestlevel exceeds a high-interest level threshold, as in 808. Thehigh-interest level threshold may be any threshold and may vary fordifferent users, different objects, different environments, based on howrecently the user was presented another notification, etc. For example,if the user has recently received a notification via a wearable deviceassociated with the user but has not interacted with or presented aninterest in the notification, the high-interest threshold may beincreased to reduce any likelihood of disturbing the user.

If it is determined that the anticipated interest level exceeds ahigh-interest threshold, a notification is presented to the user via awearable device associated with the user, as in 810. As discussed above,the object management service may send information to the portabledevice that is then sent to the wearable device for the notificationand/or the object management service may send the notification directlyto the wearable device. The presentation of the notification by thewearable device may be an audible presentation, haptic presentation,visual presentation, or any combination thereof. In someimplementations, if the user is not wearing a wearable device, thenotification may be presented by the portable device.

A determination may also be made as to whether the notification is to bepresented on the portable device, as in 811. Notification on theportable device, in addition to the wearable device, may be optionaland/or specified by the user. If it is determined that the notificationis also to be presented by the portable device, the notification ispresented by the portable device, as in 814. Similar to the wearabledevice, the portable device may present the notification audibly,visually, and/or with haptic output.

Returning to decision block 808, if it is determined that theanticipated interest level does not exceed the high-interest threshold,a determination is made as to whether the interest level exceeds amid-interest threshold, as in 812. The mid-interest threshold, like thehigh-interest threshold, may be any value and may vary for differentusers, different objects, different environments, etc. If it isdetermined that the anticipated interest level exceeds the mid-interestthreshold, the notification is presented by the portable device, as in814.

The high-interest threshold and the mid-interest threshold are utilizedto filter or limit the amount of notifications that are presented to auser to only those that are determined to be of likely interest to theuser. Likewise, because of the volume of potential notifications ofdifferent objects within a defined distance of a user and thevariability of a user's interest in any one object, the high-interestlevel may be used to filter out all but those notifications relating toobjects that are very likely to be of interest to the user becausenotifications presented using a wearable device may be considered by theuser to be more invasive than notifications presented using the portabledevice.

If it is determined that the anticipated interest level does not exceedthe mid-interest threshold and/or if it is determined at decision block811 not to present the notification using the portable device, adetermination is made as to whether an interaction has been received bythe user, as in 816. An interaction may be a physical interaction by theuser with the wearable device and/or the portable device. For example,if a notification is presented by the wearable device, the userpositions the wearable device into a field of view and maintains thatposition for a defined period of time (e.g., two seconds) or physicallytouches the wearable device, it may be determined that a userinteraction has been received. As another example, if the user interactswith the portable device, e.g., by touching a touch-sensitive display ofthe portable device, it may be determined that a user interaction hasbeen received.

A user interaction may be determined in response to presenting anotification or if a notification is not presented. For example, a usermay request information about an object within a defined distance evenif a notification was not presented to the user.

If it is determined that an interaction has been received, one or moreobject identifiers corresponding to the determined object are presentedto the user, as in 900. Presentation of an object identifier to a useris discussed in further detail below with respect to FIG. 9. If it isdetermined that a user interaction has not been received, the exampleprocess 800 returns to block 802 and continues.

FIG. 9 illustrates an example process 900 for presenting an objectidentifier related to an object in an environment, according to animplementation. The example process 900 begins by determining if a userhas expressed an interest in a notification, as in 902. For example, asdiscussed above with respect to FIG. 8, a user may express an interestin a presented notification by viewing the notification for a definedperiod of time and/or by interacting with the notification.

If it is determined that the user has expressed an interest in anotification, the object identifier(s) associated with the notificationare determined, as in 904. As discussed above, a notification may begenerated to notify a user about an object located within a distance ofthe user. The object will have one or more corresponding objectidentifiers maintained in an object identifier data store by the objectmanagement service. When a notification is sent for presentation to auser, the corresponding object identifier(s) are associated with thenotification.

The determined object identifier(s) are then presented to the user, asin 905. If there are more object identifiers associated with thenotification, selection of the object identifier to present may be donein a variety of manners. In one implementation, an object identifierfrom a plurality of object identifiers associated with the notificationmay be randomly selected, selected based on a preference of the user,selected based on a planned rotation of object identifier types, etc.

If it is determined at decision block 902 that a user interest in anotification has not been received, a determination is made as towhether a user input requesting an object identifier representative ofan object within a distance of the user is determined, as in 903. Forexample, a user may request an object identifier by providing input toan application running on a portable device associated with the user. Ifit is determined that a user input has not been received, the exampleprocess completes, as in 907. If a user input has been received, objectidentifiers corresponding to objects within a distance of the user aredetermined, as in 906. Object identifiers corresponding to objectswithin a distance of a user may be determined as discussed above.

A determination is also made as to the user's current interest(s), as in908. The user's current interest may be an explicit input from the userand/or may be inferred based on the activities of the user. For example,as discussed below with respect to FIG. 10, if the user selects torecord audio (a user input), the current interest of the user isdetermined to be an object corresponding to the recorded audio. Asanother example, if the user is a male and located in a women's sectionof a sporting goods store and his calendar indicates that his wife'sbirthday is the following week, it may be inferred that the user isinterested in objects that he may purchase for his wife as a gift. Insome implementations, the object management service may considermultiple user profiles to determine the user's current interest.Continuing with the current example, the object management service mayconsider the user profile of both the male and his wife to determine theuser's current interest.

Based on the determined interest of the user, one or more objectidentifiers corresponding to objects within a defined distance of theuser are selected, as in 910. For example, attributes of objects withina defined distance of the user are compared to the determined interestof the user to select one or more object identifiers for presentation tothe user. In some implementations, the distance between the position ofthe user and the objects may be considered and objects that arephysically closer to the position of the user may be given a higherweight when determining an object identifier to select for presentationto the user.

Finally, the selected object identifier(s) are presented to the user, asin 912. For example, the object management service may send the selectedobject identifier(s) to a portable device associated with the user andthe portable device may present the object identifier(s) to the user viathe display of the portable device.

FIG. 10 is an illustration of an environment 1000 and a user receivingan object identifier 1023 related to an object determined in theenvironment, according to an implementation. In this example, the objectis a television show and the television show was determined based onaudio input received by the portable device 1020. To determine thetelevision show, the portable device recorded a segment of audio fromthe television show and provided the recorded audio to the objectmanagement service for processing. The object management serviceprocessed the segment of audio and compared the segment of audio withaudio information associated with objects maintained in the object datastore. Based on the comparison, the object is determined, in thisexample, a television show, and the object identifier 1023representative of the object is sent to the portable device 1020 andpresented by the portable device to the user.

As with the other examples, the object identifier 1023 includesinformation 1021 about the object, such as the actors, the original airdate of the show, the episode, etc. Likewise, the object identifierincludes one or more action buttons 1026, 1028, 1030 that if selectedwill cause the corresponding action to be performed. In this example,the object identifier includes three action buttons. Specifically, theobject identifier 1023 includes a Details action button 1026 that ifselected will cause the action of an object identifier with additionaldetails relating to the object to be presented to the user. The objectidentifier 1023 also includes a Recipes action button 1028 that willcause the action of an object identifier that includes the recipes forthe meal or food that was prepared as part of the episode (object) to bepresented to the user. The object identifier also includes anIngredients action button 1030 that if selected will cause the action ofan object identifier with a list of ingredients needed for the foodprepared as part of the episode to be presented to the user.

While the example illustrated in FIG. 10, includes action buttonscorresponding to food, in other examples, the action buttons may bedetermined and presented based on other objects or information thatcorrespond to the detected object. For example, if the object is asporting event, the action buttons may correspond to actions that wouldcause object identifiers corresponding to the sporting event, theplayers and/or the teams involved in the sporting event to be presented.For example, a Details action button may result in information about thesporting event, the teams, the stadium, the results, etc., to bepresented to the user.

FIG. 11 is an illustration of an object identifier presented to a userin response to a user selecting the Recipes action button 1028 (FIG.10), according to an implementation. In response to a user selecting theRecipes action button 1028, the object management service determines anobject identifier 1123 that includes the recipe corresponding to thefood prepared as part of the episode. The object identifier 1123 isassociated in the object data store with the object identifier 1023. Theobject identifier 1123 is sent to the portable device and presented tothe user. The object identifier includes information 1102 about theobject represented by the object identifier, in this example, a recipefor pasta. Likewise, one or more action buttons 1126, 1128, and 1130corresponding to the object may also be included in the objectidentifier.

As discussed above, selection of an action button will cause acorresponding action to be performed with respect to the objectidentifier. For example, selection of the Buy action button 1128 willcause the action of buying the ingredients included in the objectidentifier to be initiated. Such an action may include additionalpresentation and interaction with other information, such as a locationfrom which the user will obtain the items, price, etc.

Selection of the Details action button 1126 will cause additionaldetails about the recipe to be presented to the user. Finally, selectionof the Similar action button 1130, will cause the object managementservice to identify and provide object identifiers representative ofrecipes determined to be similar to the recipe included in the objectidentifier 1123.

FIG. 12 illustrates example functional components of an example wearabledevice, according to an implementation. The wearable device 110 includesone or more processors 1202 and computer-readable media 1204. Thecomputer-readable media 1204 may include non-transitorycomputer-readable media, such as volatile and nonvolatile memory,removable and non-removable media implemented in any method ortechnology for storage of information, such as computer-readableinstructions, data structures, program modules, or other data. Suchnon-transitory computer-readable media includes, but is not limited to,RAM, ROM, EEPROM, flash memory or other memory technology. Thenon-transitory computer-readable media 1204 may be implemented ascomputer-readable storage media (“CRSM”), which may be any availablephysical media accessible by the processor(s) 1202 to executeinstructions stored on the media 1204. In one basic implementation, CRSMmay include random access memory (“RAM”) and Flash memory. In otherimplementations, CRSM may include, but is not limited to, read-onlymemory (“ROM”), electrically erasable programmable read-only memory(“EEPROM”), or any other tangible medium which can be used to store thedesired information and which can be accessed by the processor(s) 1202.

Several modules, such as instruction, data stores, and so forth, may bestored within the computer-readable media 1204 and configured to executeon the processor(s) 1202. A few example functional modules are shownstored in the computer-readable media 1204, although the samefunctionality may alternatively be implemented in hardware, firmware, oras a system on a chip (SOC).

An operating system module 1206 may be configured to manage hardware andservices within and coupled to the wearable device 110 for the benefitof other modules. A communication module 1210 facilitates communication,such as cellular communication, RF communication, Wi-Fi communication,Bluetooth communication, NFC communication, satellite-basedcommunication, and so forth. For example, the communication module 1210may facilitate communication with a portable device and/or the objectmanagement service via one or more networks, as discussed above withrespect to FIG. 1. Other local modules 1212 may also be present on thedevice, depending upon the implementation and configuration of thedevice.

The wearable device 110 may also include a plurality of applications1214 stored in the non-transitory computer-readable media 1204 orotherwise accessible to the wearable device 110. In this implementation,the applications 1214 are a notification application 1216 and otherapplications 1218. The wearable device 110 may include any number ortype of applications and is not limited to the specific example shownhere. Data stores may also be stored locally on the media 1204,including an object identifier data store 1224 and one or more userprofiles 1226 of users that have interacted with and/or use the wearabledevice 110. The object identifier data store 1224 may include objectidentifiers provided by the portable device and/or the object managementservice. The user profile(s) data store 1226 may include userpreferences (e.g., when and/or how should a user be notified).

Generally, the wearable device 110 has a touch screen display 1228 andmay include other input devices, such as a keypad, control buttons, etc.One or more microphones 1230 may also be included to receive audioinput. Output devices 1232 may include a display, an illuminationelement (e.g., LED), a vibrator to create haptic sensations, speakers orthe like. The wearable device 110 might further include a wireless unit1234 coupled to an antenna to facilitate a wireless connection to one ormore networks. The wireless unit 1234 may implement one or more ofvarious wireless technologies, such as Wi-Fi, Bluetooth, RF, NFC, andthe like.

The wearable device may also include an embedded unique identifier 1236.The unique identifier may be embedded into a memory 1204 of the wearabledevice 110 or otherwise stored and accessible by the wearable device110.

The wearable device 110 is also equipped with multiple active components1238. Any number of components may be used. Representative activecomponents include imaging elements 1240, sensor(s) 1242, and haptics1244. The wearable device 110 may also include some form of power supply1246, such as a battery, solar power, or other form of power supply forproviding power to the wearable device during operation.

FIG. 13 illustrates an example client device 104 that can be used inaccordance with various implementations described herein. In thisexample, the client device 104 includes a display 1302 and optionally atleast one input component 1304, such as a camera. The client device 104may also include an audio transducer, such as a speaker 1306, andoptionally a microphone 1308. Generally, the client device 104 may haveany form of input/output components that allow a user to interact withthe client device 104. For example, the various input components forenabling user interaction with the device may include a touch-baseddisplay 1302 (e.g., resistive, capacitive, Interpolating Force-SensitiveResistance (IFSR)), camera, microphone, global positioning system (GPS),compass or any combination thereof. One or more of these inputcomponents may be included on a device or otherwise in communicationwith the device. Various other input components and combinations ofinput components can be used as well within the scope of the variousimplementations as should be apparent in light of the teachings andsuggestions contained herein.

In order to provide the various functionality described herein, FIG. 14illustrates an example set of basic components 1400 of a client device,such as the client device 1300 described with respect to FIG. 13 anddiscussed herein. In this example, the device includes at least onecentral processor 1402 for executing instructions that can be stored inat least one memory device or element 1404. As would be apparent to oneof ordinary skill in the art, the device can include many types ofmemory, data storage or non-transitory computer-readable storage media,such as a first data storage for program instruction for execution bythe processor 1402. Removable storage memory can be available forsharing information with other devices, etc. The device typically willinclude some type of display 1406, such as a touch-based display,electronic ink (e-ink), organic light emitting diode (OLED) or liquidcrystal display (LCD).

As discussed, the device in many implementations will include at leastone image capture element 1408, such as one or more cameras that areable to image objects in the vicinity of the device. An image captureelement can include or be based at least in part upon any appropriatetechnology, such as a CCD or CMOS image capture element having adetermined resolution, focal range, viewable area, and capture rate. Thedevice can include at least one object component 1410 for performing theprocess of creating an object identifier that identifies an object,and/or interacting with the object management service 103 (FIG. 1) aspart of the process of creating an object identifier that identifies anobject. For example, the client device may be in constant orintermittent communication with the object management service and mayexchange information, such as representations, descriptions, positioninformation, object identifiers, etc., with the object managementservice.

The device also can include at least one location component 1412, suchas GPS, NFC location tracking or Wi-Fi location monitoring. Locationinformation obtained by the location component 1412 may be used with thevarious implementations discussed herein to identify the position of theuser, object location, and the like.

The example client device may also include at least one additional inputdevice able to receive conventional input from a user. This conventionalinput can include, for example, a push button, touch pad, touch-baseddisplay, wheel, joystick, keyboard, mouse, trackball, keypad or anyother such device or element whereby a user can input a command to thedevice. These I/O devices could be connected by a wireless, infrared,Bluetooth, or other link as well in some implementations. In someimplementations, however, such a device might not include any buttons atall and might be controlled only through touch (e.g., touch-baseddisplay), audio (e.g., spoken) commands, or a combination thereof

FIG. 15 is a pictorial diagram of an illustrative implementation of aserver system 1501, such as the server system 101 that may be used inthe environment of FIG. 1. The server system 1501 may include aprocessor 1500, such as one or more redundant processors, a videodisplay adapter 1502, a disk drive 1504, an input/output interface 1506,a network interface 1508, and a memory 1512. The processor 1500, thevideo display adapter 1502, the disk drive 1504, the input/outputinterface 1506, the network interface 1508, and the memory 1512 may becommunicatively coupled to each other by a communication bus 1510.

The video display adapter 1502 provides display signals to a localdisplay (not shown in FIG. 15) permitting an operator of the serversystem 1501 to monitor and configure operation of the server system1501. The input/output interface 1506 likewise communicates withexternal input/output devices not shown in FIG. 15, such as a mouse,keyboard, scanner, or other input and output devices that can beoperated by an operator of the server system 1501. The network interface1508 includes hardware, software, or any combination thereof, tocommunicate with other computing devices. For example, the networkinterface 1508 may be configured to provide communications between theserver system 1501 and other computing devices, such as the clientdevice 120, via the network 105, as shown in FIG. 1.

The memory 1512 generally comprises random access memory (RAM),read-only memory (ROM), flash memory, and/or other volatile or permanentmemory. The memory 1512 is shown storing an operating system 1514 forcontrolling the operation of the server system 1501 A binaryinput/output system (BIOS) 1516 for controlling the low-level operationof the server system 1501 is also stored in the memory 1512.

The memory 1512 additionally stores program code and data for providingnetwork services that allow client devices 120 to exchange informationand data files with the server system 1501 and/or the object managementservice 1503. Accordingly, the memory 1512 may store a browserapplication 1518. The browser application 1518 comprises computerexecutable instructions, that, when executed by the processor 1500,generate or otherwise obtain configurable markup documents such as Webpages. The browser application 1518 communicates with a data storemanager application 1520 to facilitate data exchange and mapping betweenthe object data store 1513 and/or the user profile data store 1521,and/or devices, such as the client device 120 shown in FIG. 1.

As used herein, the term “data store” refers to any device orcombination of devices capable of storing, accessing and retrievingdata, which may include any combination and number of data servers,databases, data storage devices and data storage media in any standard,distributed or clustered environment. The server system 1501 can includeany appropriate hardware and software for integrating with the datastores 1513, 1521 as needed to execute aspects of one or moreapplications for the client device 101, and/or the object managementservice 1503. The server system 1501 provides access control services incooperation with the data stores 1513, 1521 and is able to generatecontent such as text, graphics, audio, video and/or object identifiersor set related information (e.g., representations, context,descriptions) to be transferred to the client device 120.

The data stores 112-120 can include several separate data tables,databases or other data storage mechanisms and media for storing datarelating to a particular aspect. For example, the data stores 1513, 1521illustrated include mechanisms for storing content, user information,mappings and external source information, representations, which can beused to generate and deliver content (e.g., sets, object identifiers,representations) to client devices 120.

It should be understood that there can be many other aspects that may bestored in the data stores 1513, 1521, which can be stored in any of theabove listed mechanisms as appropriate or in additional mechanisms ofany of the data stores 1513, 1521. The data stores 1513, 1521 areoperable, through logic associated therewith, to receive instructionsfrom the server system 1501 and obtain, update or otherwise process datain response thereto.

The memory 1512 may also include the object management service 1503,discussed above. The object management service 1503 may be executable bythe processor 1500 to implement one or more of the functions of theserver system 1501. In one implementation, the object management service1503 may represent instructions embodied in one or more softwareprograms stored in the memory 1512. In another implementation, theobject management service 1503 can represent hardware, softwareinstructions, or a combination thereof.

The server system 1501, in one implementation, is a distributedenvironment utilizing several computer systems and components that areinterconnected via communication links, using one or more computernetworks or direct connections. However, it will be appreciated by thoseof ordinary skill in the art that such a system could operate equallywell in a system having fewer or a greater number of components than areillustrated in FIG. 15. Thus, the depiction in FIG. 15 should be takenas being illustrative in nature and not limiting to the scope of thedisclosure.

Although the subject matter has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the specific features or acts described. Rather,the specific features and acts are disclosed as exemplary forms ofimplementing the claims.

What is claimed is:
 1. A computer-implemented method, comprising: under control of one or more computing systems configured with executable instructions, determining, based at least in part on information received from a portable device associated with a user, a location within an environment in which the user is positioned; determining an object associated with the location; determining, based at least in part on a user profile associated with the user, that the user has an anticipated interest level in the object that exceeds a threshold; sending, for presentation by the portable device, an object identifier representative of the object, wherein the object identifier includes a representation of the object, information relating to the object, and at least one action button that may be activated by the user to perform an action with respect to the object; receiving an interaction with the action button; and causing the action to be performed.
 2. The computer-implemented method of claim 1, wherein: the environment is a physical retail store at which the user may purchase items; the location is a defined area within the environment; the object is an item represented within the location that may be purchased by the user; and the action is an action to purchase the item.
 3. The computer-implemented method of claim 1, wherein the information received from the portable device is at least one of a position information representative of a position of the portable device as determined by the portable device, a first beacon received by the portable device and associated with the environment, a second beacon received by the portable device and associated with the location within the environment, or a third beacon received by the portable device and associated with an item represented within the location.
 4. The computer-implemented method of claim 1, wherein the object is determined based on at least one of: a first beacon received by the portable device and associated with an item represented within the location, or a second beacon received by the portable device and associated with the location, wherein the second beacon is used to determine an association maintained by an object management service between the location and the object.
 5. The computer-implemented method of claim 1, wherein the action button is at least one of: a directions button representative of an action of providing directions to the object, a details button representative of an action of providing details relating to the object, a save button representative of an action of saving an association of the object identifier with the user profile, or a buy button representative of an action of purchasing the object.
 6. A computer-implemented method, comprising: determining, based at least in part on information received from a portable device associated with a user, a location within an environment at which the portable device is positioned; determining, based at least in part on the location, that the portable device is within a first distance to a first object associated with the location; determining, based at least on part on attributes associated with the first object and a user profile associated with the user, that an anticipated interest level corresponding to the user profile and the first object is above a first threshold; in response to the determination that the anticipated interest level is above the first threshold, transmitting, to a wearable device associated with the portable device, a notification associated with the first object; obtaining, via the wearable device, an interaction with the notification; obtaining, from a plurality of object identifiers, a first object identifier representative of the first object and associated with the first object; and sending, for presentation on the portable device, the first object identifier.
 7. The computer-implemented method of claim 6, wherein the information received from the portable device includes a beacon.
 8. The computer-implemented method of claim 6, further comprising: determining that the portable device is positioned within a proximity threshold; and sending, for presentation on the portable device, a second object identifier, wherein the first object identifier and the second object identifier are different.
 9. The computer-implemented method of claim 8, wherein the second object identifier is associated with the first object.
 10. The computer-implemented method of claim 8, wherein the second object identifier is associated with a second object.
 11. The computer implemented method of claim 10, wherein: the first object includes a physical retail store at which the user may purchase items; the second object includes at least one of the items; determining the location at which the portable device is positioned is based at least in part on a first beacon associated with the first device and included in the information received from the portable device; and determining that the portable device is positioned within the proximity threshold is based on at least one of a second beacon or coordinates.
 12. The computer-implemented method of claim 6, wherein presentation of the first object identifier includes an action button configured to initiate an action to be taken in connection with the first object.
 13. The computer-implemented method of claim 6, wherein the anticipated interest level is based at least in part on at least one of: a first newness of the first object to the user; a second newness of the environment to the user; a frequency that the user visits the environment; a time since last visit by the user to the environment; a user purchase history; or a user preference.
 14. The computer-implemented method of claim 6, further comprising: determining that the anticipated interest level is below the first threshold and above a second threshold but does not exceed the first threshold; in response to the determination that the anticipated interest level is below the first threshold and above the second threshold, not transmitting for presentation by the portable device the object identifier; and sending, for presentation on the portable device, the first object identifier.
 15. A computing system, comprising: one or more processors; and a memory storing program instructions that, when executed by the one or more processors, cause the one or more processors to at least: determine, based at least in part on first information received from a portable device associated with a user, that the portable device is within a first distance to a first object, wherein the first information includes a first beacon; determine, based at least on part on attributes associated with the first object and a user profile associated with the user, that a first anticipated interest level corresponding to the user profile and the first object is above a first threshold; in response to the determination that the first anticipated interest level is above the first threshold: obtain a first object identifier representative of the first object; and send, for presentation on the portable device, the first object identifier; determine, based at least in part on second information received from the portable device associated with the user, that the portable device is within a second distance to a second object, wherein the second information includes a second beacon; determine, based at least on part on attributes associated with the second object and the user profile associated with the user, that a second anticipated interest level corresponding to the user profile and the second object is above a second threshold; in response to the determination that the second anticipated interest level is above the second threshold: obtain a second object identifier representative of the second object; and send, for presentation on the portable device, the second object identifier.
 16. The computing system of claim 15, wherein the program instructions, that when executed by the one or more processors, further cause the one or more processors to at least determine that the first anticipated interest level is below a third threshold.
 17. The computing system of claim 15, wherein: the program instructions, that when executed by the one or more processors, further cause the one or more processors to at least: in response to the determination that the first anticipated interest level is above the first threshold, transmit, to a wearable device associated with the portable device, a notification associated with the first object; and obtain, via the wearable device, an interaction with the notification; and sending the first object identifier for presentation on the portable device is based at least in part on the obtaining of the interaction with the notification.
 18. The computing system of claim 15, wherein: presentation of the second object identifier on the portable device includes an action button; and the action button is at least one of: a directions button representative of an action of providing directions to the object, a details button representative of an action of providing details relating to the object, a save button representative of an action of saving an association of the object identifier with the user profile, or a buy button representative of an action of purchasing the object.
 19. The computing system of claim 15, wherein the first beacon is at least one of a wireless signal carrying identifiable information received by the portable device, an audible signal generated in the environment, the location, or the object and received by the portable device, or a visual image of at least a portion of the environment, the location, or the object obtained by the portable device.
 20. The computing system of claim 15, wherein: the first object is a store; and the second object is an item that may be purchased. 